package com.qfedu.service.impl;

import com.qfedu.pojo.req.Cart;
import com.qfedu.pojo.req.CartItem;
import com.qfedu.pojo.resp.BaseResp;
import com.qfedu.service.CartItemService;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpSession;

/**
 * @author:User
 * @time:2022/9/28
 * @explain:
 */
@Service
public class CartItemServiceImpl implements CartItemService {

    /**
     * 商品项添加数量
     * @param cartItem
     * @return
     */
    @Override
    public BaseResp addItem(CartItem cartItem, HttpSession session) {
        //获取session 中的cart
        Cart cart = (Cart) session.getAttribute("cart");
        cart.getCartItemMap().get(cartItem.getGoodsname()).setCount(cart.getCartItemMap().get(cartItem.getGoodsname()).getCount()+1);
       cart.getCartItemMap().get(cartItem.getGoodsname()).setTotalMoney(cart.getCartItemMap().get(cartItem.getGoodsname()).getTotalMoney()+cartItem.getGoodsInfo().getGoodsPrice());
       session.setAttribute("cart",cart);
        return new BaseResp(1,"SUCCESS",cart,null);
    }

    /**
     * 商品项减少数量
     * @param cartItem
     * @param session
     * @return
     */
    @Override
    public BaseResp subtractItem(CartItem cartItem, HttpSession session) {
        //获取session中的cart
        Cart cart =(Cart) session.getAttribute("cart");
        //根据商品名减少商品
        cart.getCartItemMap().get(cartItem.getGoodsname()).setCount(cart.getCartItemMap().get(cartItem.getGoodsname()).getCount()-1);
        cart.getCartItemMap().get(cartItem.getGoodsname()).setTotalMoney(cart.getCartItemMap().get(cartItem.getGoodsname()).getTotalMoney()-cartItem.getGoodsInfo().getGoodsPrice());
        cart.setTotalMoney(cart.getTotalMoney()-cartItem.getGoodsInfo().getGoodsPrice());

        //把cart存在session中
        session.setAttribute("cart",cart);

        return new BaseResp(1,"SUCCESS",cart,null);
    }

}
